// 先引用路由
const express = require("express");
const router = express.Router();
// 引入模型文件
const { Gg_event } = require("../models");
// 引入定义的异常类
const {
  NotFoundError,
  getArticle,
  success,
  failure,
} = require("../utils/utils_function.js");

// 返回全部数据
router.get("/alldata", async function (req, res, next) {
  try {
    // 获取全部的数据
    const eventInfo = await Gg_event.findAll();

    success(res, "查询全部事件成功!", eventInfo);
  } catch (error) {
    failure(res, error);
  }
});

// 添加数据
router.post("/", async function (req, res, next) {
  try {
    // 解构用户传参
    const insertData = {
      user_name: req.body.user_name,
      event_type: req.body.event_type,
      event_addr: req.body.event_addr,
      event_mark: req.body.event_mark,
      event_time: req.body.event_time,
      event_describe: req.body.event_describe,
    };

    // 执行写入
    const eventInfo = await Gg_event.create(insertData);

    // 返回写入的数据
    success(res, "添加事件成功!", eventInfo, 201);
  } catch (error) {
    failure(res, error);
  }
});

// 处理事件
router.put("/", async function (req, res, next) {
  try {
    // 解构用户传参
    const updateInfo = {
      id: req.body.id,
      event_status: req.body.event_status,
    };

    // 根据id查找事件
    const eventInfo = await Gg_event.findByPk(updateInfo.id);

    // 执行状态修改
    await eventInfo.update({
      event_status: updateInfo.event_status,
    });

    // 返回写入的数据
    success(res, "事件状态修改成功!", eventInfo, 201);
  } catch (error) {
    failure(res, error);
  }
});

// 导出路由
module.exports = router;
